/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package raytracer;

import java.awt.Color;


/**
 *
 * @author Ferco
 */
public class SettingManager{

    //deklarace promennych
    private int width;
    private int height;
    private int antialiasing;
    private Vector3D lightPosition;
    private Vector3D cameraPosition;
    private int reflectionDepth;
    private boolean ambient;
    private boolean diffuse;
    private boolean specular;
    private double shadow;
    private int intersectionMethod;
    private Color background;
    private boolean artMode;
    private double reflectionFade;
    private Vector3D axesFactor;
    private double cameraFactor;

    public SettingManager() {
        this.width = 640;
        this.height = 480;
        this.antialiasing = 2;
        this.lightPosition = new Vector3D(0, 0, 0);
        this.cameraPosition = new Vector3D(0, 0, 0);
        this.reflectionDepth = 0;
        this.ambient = true;
        this.diffuse = true;
        this.specular = true;
        this.shadow = 1;
        this.intersectionMethod = 1;
        this.background = Color.white;
        this.artMode = false;
        this.reflectionFade = 0.5;
        this.axesFactor = new Vector3D(1,1,1);
        this.cameraFactor = 1;
    }

    public int getAntialiasing() {
        return antialiasing;
    }

    public double getCameraFactor() {
        return cameraFactor;
    }

    public void setCameraFactor(double cameraFactor) {
        this.cameraFactor = cameraFactor;
    }


    public void setAntialiasing(int antialiasing) {
        this.antialiasing = antialiasing;
    }

    public int getHeight() {
        return height;
    }

    public void setHeight(int height) {
        this.height = height;
    }

    public int getWidth() {
        return width;
    }

    public void setWidth(int width) {
        this.width = width;
    }

    public Vector3D getLightPosition() {
        return lightPosition;
    }

    public void setLightPosition(Vector3D lightPosition) {
        this.lightPosition = lightPosition;
    }

    public Vector3D getCameraPosition() {
        return cameraPosition;
    }

    public void setCameraPosition(Vector3D cameraPosition) {
        this.cameraPosition = cameraPosition;
    }

    public int getReflectionDepth() {
        return reflectionDepth;
    }

    public void setReflectionDepth(int reflectionDepth) {
        this.reflectionDepth = reflectionDepth;
    }

    public boolean isAmbient() {
        return ambient;
    }

    public void setAmbient(boolean ambient) {
        this.ambient = ambient;
    }

    public boolean isDiffuse() {
        return diffuse;
    }

    public Vector3D getAxesFactor() {
        return axesFactor;
    }

    public void setAxesFactor(Vector3D axesFactor) {
        this.axesFactor = axesFactor;
    }



    public void setDiffuse(boolean diffuse) {
        this.diffuse = diffuse;
    }

    public int getIntersectionMethod() {
        return intersectionMethod;
    }

    public void setIntersectionMethod(int intersectionMethod) {
        this.intersectionMethod = intersectionMethod;
    }

    public double getShadow() {
        return shadow;
    }

    public void setShadow(double shadow) {
        this.shadow = shadow;
    }   

    public boolean isSpecular() {
        return specular;
    }

    public void setSpecular(boolean specular) {
        this.specular = specular;
    }

    public Color getBackground() {
        return background;
    }

    public void setBackground(Color background) {
        this.background = background;
    }

    public boolean isArtMode() {
        return artMode;
    }

    public void setArtMode(boolean artMode) {
        this.artMode = artMode;
    }

    public double getReflectionFade() {
        return reflectionFade;
    }

    public void setReflectionFade(double reflectionFade) {
        this.reflectionFade = reflectionFade;
    }


}
